package com.zhoug.common.filters;

import android.text.InputFilter;
import android.text.Spanned;

import com.zhoug.common.utils.LogUtils;

/**
 * 禁止输入空格
 *
 * @Author: zhoug
 * @Date: 2023/1/4
 * @Description:
 */
public class NoSpaceInputFilter implements InputFilter {
    private static final String TAG = ">>>NoSpaceInputFilter";
    private static boolean DEBUG = false;

    public NoSpaceInputFilter() {
    }


    /**
     * 当缓冲区要使用source的[start - end)范围内的内容替换dest的[dstart - dend)范围内的内容
     *
     * @param source 输入的内容,若是删除动作，则为空字符
     * @param start  source对应的起始索引，始终为0
     * @param end    source对应的结尾索引，为source的length-1
     * @param dest   当前输入框中显示的内容
     * @param dstart 被贴换的内容在输入框中的起始位置(包含)
     * @param dend   被贴换的内容在输入框中的结束位置(不包含)
     * @return 返回null:表示接受原本的输入source;返回空字符串"":放弃本次输入;返回指定内容
     */
    @Override
    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
        if (DEBUG) {
            LogUtils.d(TAG, "source:" + source + ",start:" + start + ",end:" + end + ",dest:" + dest + ",dstart:" + dstart + ",dend:" + dend);
        }
        if (source == null || source.length() <= 0) {
            return "";
        }
        return source.toString().replaceAll(" ", "");
    }


}
